A technique called CCN (content centric network), which is disclosed in Non-Patent Literature (hereinafter, referred to as “NPL”) 1, has attracted attention in recent years. CCN is a content distribution platform to manage a content based on the name of the content.
In CCN, the contents to be distributed, or data pieces obtained by splitting a content to be distributed are named in advance. A reception terminal to acquire a content issues a packet called “interest packet”. The “interest packet” requests transmission of a content by specifying the name of the content (hereinafter, referred to as “content name”).
Upon reception of an interest packet, a terminal that has published a content (transmission terminal) transmits a content corresponding to the content name specified by the interest packet to the reception terminal. In this way, each reception terminal can acquire the content based on the content name without knowing where the content is.
CCN has an advantage that a content can be acquired from a router that has transferred the content in the past. In CCN, each router caches (temporarily stores) contents to be transferred from a transmission terminal to a reception terminal. If a content specified by a received interest packet is included in the cached contents, the router transmits the content to the reception terminal. In this way, in CCN, contents can be transmitted to the reception terminal without retransmission of the content from the transmission terminal to the router.
For example, NPL 1, Patent Literature (hereinafter, referred to as “PTL”) 1 and NPL 3 disclose a flow rate control (flow control) method in CCN.
In flow rate control disclosed in NPL 1, an interest packet is issued for each small part resulting from division of a content, at the same timing as returning of ACK (acknowledgement) from TCP (transmission control protocol).
In such flow rate control, a reception terminal can acquire a content at the same timing as returning of ACK of TCP.
PTL 1 and NPL 3 disclose a flow rate control in Voice Over CCN, which achieves VOIP (Voice Over IP) on CCN. In Voice Over CCN, each terminal transmits call control information by using an interest packet in CCN. Each terminal performs call negotiation to prepare to transmit or receive an RTP (real-time transport protocol) packet for voice. The reception terminal regularly issues an interest packet for voice data. The transmission terminal sequentially transmits to the reception terminal a packet storing small pieces of divided voice data, each time the transmission terminal receives an interest packet. A packet storing pieces of divided voice data is hereinafter referred to as “data packet.”
In such a flow rate control, the reception terminal can acquire a real-time stream of voice at a fixed rate. As described above, the router in CCN caches a real-time stream. Another reception terminal that is different from the reception terminal which is the first to start receiving a data packet (hereinafter, referred to as “other reception terminal”) issues an interest packet for the data packet. This allows the other reception terminal to acquire a data packet not from the transmission terminal but from the router.
In this way, by using the flow rate control disclosed in NPL 1 and the flow rate control disclosed in PTL 1 and NPL 3, CCN can distribute contents efficiently. Thus, CCN using such flow rate control is particularly suitable for distributing a real-time stream.
Transmission and reception of a real-time stream of e.g., a video file or a voice file has been actively performed and popular in the Internet in recent years. Accordingly, CCN is expected to be applied to the Internet in transmission in a real-time stream of e.g., a video file or a voice file.
However, the Internet is a best effort network in which Quality of Service (QoS) fails to be guaranteed and traffic is in conflict with each other. Thus, a band available for each transmission terminal varies in the Internet.
In transmission of a real-time stream using such a network, it is required to control a flow rate of real-time streaming packets to be transmitted to the network to prevent a packet loss. To control the flow rate of real-time streaming packets, a method for estimating a band available for data transmission (hereinafter, referred to as “available band”) is used. In such a flow rate control, a method for controlling a code amount of an encoder for a real-time stream so as to transmit a packet by using the estimated available band is used.
For example, NPL 2 discloses an example of the method for estimating a band for an adaptive flow rate control in a best effort network.
In TFRC (TCP friendly rate control) disclosed in NPL 2, a round trip time RTT and a loss event rate p between a transmission terminal and a reception terminal are measured. In TFRC, the measured round trip time RTT and loss event rate p are substituted in Equation 1 below so that an estimation value of an available band [bps] Xcal is calculated. In Equation 1, “s” represents a packet size [byte], “R” is a representative value [second] of the round trip time RTT, and t_RTO is a retransmission timeout. The retransmission timeout t_RTO is 4R.
                              [          1          ]                ⁢                                                                                      Xcal        =                              8            ⁢                                                  ⁢            s                                R            ⁡                          (                                                                    2                    ⁢                                          p                      /                      3                                                                      +                                  t_RTO                  ×                                                            3                      ⁢                                              p                        /                        8                                                                              ×                  p                  ×                                      (                                          1                      +                                              32                        ⁢                                                  p                          2                                                                                      )                                                              )                                                          (                  Equation          ⁢                                          ⁢          1                )            
In contents transmission using thus estimated available band, a flow rate control for maintaining TCP fairness is possible. That is, in a best effort network, the flow rate control disclosed in NPL 2 allows a real-time streaming distribution with TCP fairness maintained.
As described above, the flow rate control targeting CNN and proposed by PTL 1 and NPL 3 is different from one that targets a best effort network and is proposed by NPL 2. To transmit a real-time stream such as video voice data by CCN in a best effort network such as the Internet, the method for estimating a band in TFRC may be implemented on CCN and flow rate control may be performed based on an estimation value obtained by the method.